A Controller Area Network (CAN) bus is an internal communications network often used to interconnect microcontrollers and other smart devices inside a vehicle. Special requirements for vehicle control such as assurance of message delivery, of non-conflicting messages, of minimum time of delivery, of low cost, of electromagnetic field (EMF) noise resilience, and of redundant routing and other characteristics mandate the use of common networking protocols such as CAN. A CAN bus is a vehicle bus standard designed to allow microcontrollers and other smart devices to communicate with each other in applications without a host computer. CAN bus is a message-based protocol used for multiplex electrical wiring within vehicles and in other contexts.
Many applications that use a CAN bus require multiple identical smart devices on the same CAN bus to each be associated with a specific location for control of a function or measurement of a certain parameter such as temperature, pressure, flow rate, or other operational characteristics of the vehicle. In one example, multiple identical temperature sensors may be located at each of 20 different cylinders in a diesel engine, and at each of first and second turbocharger inlets and exits. The system must include a way to ensure that data received from each of the identical temperature sensors can be associated with the actual location of the corresponding sensor. In one solution, the sensors or other smart devices may be provided with multiple part numbers, with each part number being associated with a unique source address or function instance number. However, this method adds unnecessary burden on customers to carry large inventories of part numbers for multiple identical devices. Keeping track of all the different part numbers for multiple identical devices may also lead to errors when servicing the identical devices in the field.
In another solution for identifying and configuring multiple identical smart devices that are connected to the same CAN bus, each of the devices may be provided with different numbers of input pins that may be associated with different harness-codes or location codes. In this way, each of the otherwise identical smart devices may be hardwired to a particular location code via its harness when the device is plugged in. Providing different numbers of input pins for each device may eliminate errors associated with mislocation of a particular device, but this solution also requires larger connectors to handle the additional pins. Moreover, as the number of devices increases in an application, the costs associated with the increases in the number of input pins and harness interconnections also increase. Furthermore, if the harness that is associated with a particular location code corrodes, or fails due to vibration, the device connected to the harness may assume an incorrect source address and may execute functions or supply data that may lead to unsafe conditions.
In yet another solution for identifying and configuring multiple identical smart devices that are connected to the same CAN bus, each device may be provided with one analog input and may be connectable to a harness with in-harness resistors having different values for each different location. When a device is connected to a particular harness, voltage dividing is performed for each device input, and based on the measured voltage value at this input the device is able to identify itself and assume the required name or source address from a fixed preprogrammed list stored in a memory. However, just as with the method described above, this method has the drawback that in-harness resistor connection failure can result in an incorrect source address and execution of functions or supply of data that may lead to unsafe conditions.
U.S. Pat. No. 5,914,957 to Dean et al. (the '957 patent) discloses a node configuration system with identical nodes that are connected to a master through a shared communication link or bus, and an unshared, daisy chain communication link. The master assigns a unique identifier to each of the servant nodes sequentially and individually. However, the system of the '957 patent has no way of knowing if any particular slave device provided with a unique identifier has been moved to a new location. Therefore, data received from a device that has been accidentally installed in the wrong location would still be associated with the assumed correct location of the device, thereby potentially resulting in controls that are based on incorrect information and may cause unsafe conditions.
The control system of the present disclosure addresses one or more of the problems set forth above and/or other problems of the prior art.